home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / WHQLPROV.MO_ / whqlprov.mof
Encoding:
Text File  |  2003-02-21  |  9.4 KB  |  225 lines

  1. //    WhqlProvider.MOF
  2. //    WMI classes definitions for the WHQL provider.
  3. //    The provider is used to get signing info. about all device drivers
  4. //
  5. //    This mof defines two classes.Win32_PnPSignedDriver & Win32_PnPSignedDriverCIMDataFile
  6. //
  7. //===================================================================
  8.  
  9. #pragma namespace("\\\\.\\ROOT\\CIMV2") 
  10.  
  11. //*************************************************************
  12. //***   Registers Provider                                    ***
  13. //*************************************************************
  14. instance of __Win32Provider as $P
  15. {
  16.     Name = "WhqlProvider";
  17.     ClsId = "{A0F93E27-F05D-4153-A151-F3720369A4C7}";
  18.     ImpersonationLevel = 1;
  19.     PerUserInitialization = TRUE;
  20.     HostingModel = "NetworkServiceHost";
  21. };
  22.  
  23. instance of __InstanceProviderRegistration
  24. {
  25.     Provider = $P;
  26.     SupportsGet = TRUE;
  27.     SupportsPut = FALSE;
  28.     SupportsDelete = FALSE;
  29.     SupportsEnumeration = TRUE;
  30.     QuerySupportLevels = NULL;
  31. };
  32.  
  33. instance of __MethodProviderRegistration
  34. {
  35.     Provider = $P;
  36. };
  37.  
  38.  
  39. //This would actually store info about the Driver.
  40. [provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass,
  41. Description(
  42. "The Win32_PnPSignedDriver class provides digital signature information about drivers "): ToSubClass ]
  43. class Win32_PnPSignedDriver : CIM_Service
  44. {
  45.     [read: ToInstance ToSubClass ,
  46.     Decription("The DeviceID property is the DeviceID of the device e.g. ROOT\\FTDISK\\0000 "): ToSubClass ]
  47.         String        DeviceID;
  48.     
  49.     [read: ToInstance ToSubClass , 
  50.     Decription("The ClassGUID  property is the ClassGUID of the device e.g. {71A27CDD-812A-11D0-BEC7-08002BE2092F}"): ToSubClass ]        
  51.         String        ClassGuid;
  52.  
  53.     [Decription("The IsSigned property is the signature status of driver "
  54.     "that is it represents whether the driver is signed or not")]        
  55.         Boolean        IsSigned;
  56.  
  57.     [read: ToInstance ToSubClass , 
  58.     Decription("The Signer property is the signer of driver if it is signed e.g. ntbuild "): ToSubClass ]
  59.         String        Signer;
  60.  
  61.     [read: ToInstance ToSubClass , 
  62.     Decription("The InfName property is the name of the Inf file which installed this device e.g. machine.inf "): ToSubClass ]        
  63.         String        InfName ;
  64.  
  65.     [read: ToInstance ToSubClass , 
  66.     Decription("The DriverVersion property is the version of the driver e.g. 5.1.2427.1 "): ToSubClass ]        
  67.         String        DriverVersion;
  68.  
  69.     //a-kjaw BugBug: Needs to be converted to WMI DateTime format.
  70.     [read: ToInstance ToSubClass , 
  71.     Decription("The DriverDate property is the Date of the driver e.g 1-25-2001 "): ToSubClass ]        
  72.         datetime        DriverDate;
  73.  
  74.     [read: ToInstance ToSubClass , 
  75.     Decription("The Description property is the Description of the driver e.g. Volume Manager "): ToSubClass ]        
  76.         //String        DriverDesc;    
  77.         String        Description;    
  78.  
  79.     //a-kjaw: BugBug :Needs to be changed to avoid confusion?
  80.     [read: ToInstance ToSubClass , 
  81.     Decription("The ProviderName property is the Provider of the driver e.g. Microsoft "): ToSubClass ]        
  82.         String        DriverProviderName;
  83.  
  84.     //[read: ToInstance ToSubClass , 
  85.     //Decription("The HardwareID property array is the array of HardwareIDs of the driver "): ToSubClass ]        
  86.     //    String        HardWareID[];        
  87.  
  88.     [read: ToInstance ToSubClass , 
  89.     Decription("The HardwareID property is the HardwareID of the driver e.g. ROOT\\FTDISK "): ToSubClass ]        
  90.         String        HardWareID;    
  91.  
  92.     [read: ToInstance ToSubClass , 
  93.     Decription("The DeviceName property is the name of the device"): ToSubClass ]        
  94.         String        DeviceName;
  95.  
  96.     [read: ToInstance ToSubClass , 
  97.     Decription("The DeviceClass property is DeviceClass of the driver e.g. SYSTEM "): ToSubClass ]        
  98.         String        DeviceClass;
  99.  
  100.     [read: ToInstance ToSubClass , 
  101.     Decription("The CompatID property is the CompatID for the driver e.g. DETECTEDInternal\\ftdisk "): ToSubClass ]        
  102.         String        CompatID;
  103.  
  104.     [read: ToInstance ToSubClass , 
  105.     Decription("The Location property is the Location of the driver "): ToSubClass ]        
  106.         String        Location;
  107.  
  108.     [read: ToInstance ToSubClass , 
  109.     Decription("The PDO property represents Physical Device Object e.g \\Device\\00000002 "
  110.     "PDOs represent individual devices on a bus to a bus driver"
  111.     "A bus driver creates a PDO for each device that it enumerates on its bus."
  112.     "The PDO represents the device to the bus driver. Other drivers for a device attach device objects "
  113.     "on top of the PDO--the PDO is always at the bottom of the device stack"): ToSubClass ]        
  114.         String        PDO;
  115.  
  116.     [read: ToInstance ToSubClass , 
  117.     Decription("The Manufacturer property is the Manufacturer of the driver e.g. Microsoft"): ToSubClass ]        
  118.         String        Manufacturer;
  119.  
  120.     [read: ToInstance ToSubClass , 
  121.     Decription("The FriendlyName property is the array of FriendlyName/Caption of the driver e.g. Communications Port (COM2)"): ToSubClass ]        
  122.         String        FriendlyName;
  123.  
  124.     [read: ToInstance ToSubClass , 
  125.     Decription("The DevLoader property is the Device Loader for the device"): ToSubClass ]        
  126.         String        DevLoader;
  127.  
  128.     [read: ToInstance ToSubClass , 
  129.     Decription("The DriverName of the driver "): ToSubClass ]        
  130.         String        DriverName;
  131.     
  132.  
  133.     //Other attributes as reqd by WHQL.
  134.     
  135.     /*[read: ToInstance ToSubClass , 
  136.     Decription("The DrvTool property is an authenticated attribute stored in drivers' cat file which represents"
  137.     "Version # of the tool that generated .CAT file."): ToSubClass ]        
  138.         String        DrvTool;    
  139.  
  140.     [read: ToInstance ToSubClass , 
  141.     Decription("The SerialNumber property is an authenticated attribute stored in drivers' cat file which represents"
  142.     "Self-Sign job ID"): ToSubClass ]        
  143.         String        SerialNumber;
  144.  
  145.     [read: ToInstance ToSubClass , 
  146.     Decription("The KitVer property is an authenticated attribute stored in drivers' cat file which represents "
  147.     "Test Kit version driver set passed testing with? Note: KV_Unknown means No Test Program"): ToSubClass ]        
  148.         String        KitVer;
  149.  
  150.     [read: ToInstance ToSubClass , 
  151.     Decription("The OSBuild property is an authenticated attribute stored in drivers' cat file which represents "
  152.     "Which build of OS did driver set pass testing with?"): ToSubClass ]        
  153.         String        OSBuild;
  154.  
  155.     [read: ToInstance ToSubClass , 
  156.     Decription("The OSAttr property is an authenticated attribute stored in drivers' cat file whch represents OS Attribute "): ToSubClass ]        
  157.         String        OSAttr;
  158.  
  159.     [read: ToInstance ToSubClass , 
  160.     Decription("OSSP is an authenticated attribute stored in drivers' cat file which represents "
  161.     "Which OS Service Pack did driver set pass testing with?"): ToSubClass ]        
  162.         String        OSSP;
  163.  
  164.     [read: ToInstance ToSubClass , 
  165.     Decription("The HWIDxxx property is an authenticated attribute stored in drivers' cat file which represents"
  166.     "Hardware Ids that have actually passed testing.  Note: there number of hardware Ids is practically unlimited "): ToSubClass ]        
  167.         String        HWIDxxx;
  168.  
  169.     [read: ToInstance ToSubClass , 
  170.     Decription("The Company property is an authenticated attribute stored in drivers' cat file which represents "
  171.     "Company name that requested driver set be signed"): ToSubClass ]        
  172.         String        Company;
  173.     
  174.     [read: ToInstance ToSubClass , 
  175.     Decription("The SupURL property is an authenticated attribute stored in drivers' cat file which represents"
  176.     "Support URL for company that requested driver set be signed"): ToSubClass ]        
  177.         String        SupURL;
  178.  
  179.     [read: ToInstance ToSubClass , 
  180.     Decription("The SupPhone property is an authenticated attribute stored in drivers' cat file which represents The Support phone no."): ToSubClass ]        
  181.         String        SupPhone;
  182.     
  183.     [read: ToInstance ToSubClass , 
  184.     Decription("The PilotProg property is an authenticated attribute stored in drivers' cat file which represents"
  185.     "Audit trail for drivers signed during Pilot Program"): ToSubClass ]        
  186.         String        PilotProg;
  187.     
  188.     [read: ToInstance ToSubClass , 
  189.     Decription("The Cave property is an authenticated attribute stored in drivers' cat file which represents"
  190.     "Audit trail if we have to sign driver sets without reviewing test log files"): ToSubClass ]        
  191.         String        Cave;    */
  192. };    
  193.  
  194. [provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass , 
  195. Decription("Win32_PnPSignedDriverCIMDataFile is an association class basically used to get all the binary "
  196. "files associated with the driver"): ToSubClass ]
  197. class Win32_PnPSignedDriverCIMDataFile : CIM_Dependency
  198. {
  199.     /*[read: ToInstance ToSubClass, key , 
  200.     Decription("The PnPID propety is the PnPID of the device represented by Win32_PnPSignedDriver class instance"): ToSubClass ]
  201.         String    PnPID;
  202.     //[read: ToInstance ToSubClass, key]String    FileName;*/
  203.  
  204.     [read: ToInstance ToSubClass, key , 
  205.     Decription("The Antecedent propety is a reference to Win32_PnPSignedDriver    instance "): ToSubClass ]
  206.         Win32_PnPSignedDriver    ref Antecedent;
  207.  
  208.     [read: ToInstance ToSubClass, key , 
  209.     Decription("The Dependent property is a reference to CIM_DataFile which represents "
  210.     "the binary file associated with the PnP driver "): ToSubClass ]
  211.         CIM_DataFile            ref Dependent;    
  212. };
  213.  
  214. /*[provider("WhqlProvider"): ToInstance ToSubClass, dynamic: ToInstance ToSubClass , 
  215. Decription("Win32_PnPSignedDriverWin32PnPEntity is an association class Win32_PnPSignedDriver Win32PnPEntity classes"): ToSubClass ]
  216. class Win32_PnPSignedDriverWin32PnPEntity
  217. {
  218.     [read: ToInstance ToSubClass, key , 
  219.     Decription("The Dependent property is a reference Win32_PnPSignedDriver"): ToSubClass ]
  220.         Win32_PnPSignedDriver    ref Antecedent;    
  221.     
  222.     [read: ToInstance ToSubClass, key , 
  223.     Decription("The Antecedent property is a reference to Win32_PnPSignedDriver    instance "): ToSubClass ]
  224.         Win32_PnEntity            ref Dependent;    
  225. };*/